4
תגובות
אז ככה, חשבתי על כל מיני רעיונות לנושאים כמו : איך לבדוק האם המשתמש x חבר של y באתר ? או מי המשתתפים בשיחה כלשהיא ? ועוד כול מיני .. כל הדברים האלה הביאו אותי לחשוב שאפשר לשים מערך במקום המתאים, וכל פעם לשלוף אותו, למחוק לעדכן לערוך וכל מה שאני רק חושב
שיתפתי בזה חבר , והוא אמר לי שלא טוב לשים מערכים במסד , ושעדיף לי לחלק אתזה לעוד טבלאות.
עכשיו, מצאתי עוד דרך, והיא להמיר את המערך לסטרינג עם json ( אמרו שסריאלייז איטי מדיי..) ואז כל פעם להמיר אותו ממערך לסטרינג ומסטרינג למערך .
מה יותר כדאי ומומלץ? האם יש הבדל ממשי ?
תודה ושבת שלום :-)

4 תשובות

avatar ענה nirbe ב 11 לינואר 2013 #

כשאני עושה רשימת חברים זה עם טקסט במסד (שאני ממיר אותו לאחר מכן למערך)
עמודת חברים, והערכים נראים ככה: nir,moshe,invtal
אני לא מכיר דרך יותר טובה וחסכונית לעשות את זה.

avatar ענה OrelBeY ב 12 לינואר 2013 #

לא כדאי לעשות טבלה של קשרים בין משתמשים?
nir - moshe
nir - intval...
(הדבר האחרון שאני מבין בו זה אופטימיזציה של בסיסי נתונים.)

avatar ענה intval ב 12 לינואר 2013 #

הבעיה במקרה הזה שיש לך כפל נתונים מתורף.
קודם כל בשורה של ניר צריך לסמן שיש לו חבר בשם intval
אחרי זה בשורה של intval צריך לסמן שיש לו חבר בשם ניר.
כל פעם שאתה רוצה לעדכן משהו, צריך לא רק לעדכן אצל ניר, אלה צריך ללכת לכל אחד מהחברים שלו וגם לעדכן אצלהם.
בנוסף נשללת ממך האפשרות לעשות פעולות אגרגטיביות, כמו לבדוק למי יש הכי הרבה חברים.

הפתרון של זה, כמו ש LighTo אמר, הוא ליצור טבלה מקשרת עם שני עמודות חבר א' וחבר ב'
ולהכניס אליה כל זוג חברים.
מצד שני, השליפה בשאילתה אחת במקרה הזה תהיה קצת יותר מסובכת. צריך להשקיע וללמוד מה זה join ואיך זה עובד.
למרות שגם מפה אפשר לשלוף בהרבה שאילתות נפרדות פשוטות.

avatar ענה liorel100 ב 14 לינואר 2013 #

יש נושא שלם שנקרא תכנון מסדי נתונים.
כאן ככל הנראה צריך טבלת קשר יחיד - יחיד